package com.wyx.exception;

import com.wyx.pojo.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

import java.net.ConnectException;


//异常处理  在这儿捕获异常 处理   简单写一下， 正紧不能这么简单，会有一个大的架构，各个对象的关系。
@RestControllerAdvice
@Slf4j
public class ExceptionGlobalHandler {

    @ExceptionHandler(PicNullException.class)
    public Result handlerException(PicNullException e) {
        System.out.println(e.getMessage() + "异常被捕获");
        return Result.error("图片不存在异常");
    }

    @ExceptionHandler(SmokeException.class)
    public Result handlerException(SmokeException e) {
        log.info(e.getMessage());
        return Result.fail(e.getMessage(),e.getCode());
    }

    @ExceptionHandler(ConnectException.class)
    public ResponseEntity<String> handleConnectException(ConnectException e) {
        System.err.println("一般是xxl-job的异常，异常信息为：" + e.getMessage());
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("连接异常");
    }

//    @ExceptionHandler(Exception.class)
    public void handlerException(Exception e) {
        System.out.println("捕获到异常了：什么异常呢？"+e.getMessage()+ " - - - " +e.getCause());
    }
}
